package Main;

import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.List;

import dao.EmpleadoDao;

import bean.EmpleadoBean;
import Managment.ManagmentEmpleado;
import Managment.ManagmentPlato;
import NegocioVO.EmpleadoVO;
import NegocioVO.PlatoVO;

public class SoloPersistencia {

	/**
	 * @param args
	 * @throws RemoteException 
	 */
	public static void main(String[] args) throws RemoteException
	{
		EmpleadoBean empleado=new EmpleadoBean();
		empleado.setApellido("Cosme");
		empleado.setNombre("Fulanito");
		empleado.setIdUsuario("pepe");
		empleado.setPassword("pepe");
		
		EmpleadoDao edao=new EmpleadoDao();
		edao.altaEmpleado(empleado);
		
/*	    ProductoDao productoDAO = new ProductoDao();
		UnidadDao unidadDAO = new UnidadDao();
		DepositoDao Ddao = new DepositoDao();
		MovimientoStockDao MSdao = new MovimientoStockDao();
		
		CompraVentaBean CV1 = new CompraVentaBean();
		UnidadBean U1 = new UnidadBean();
		MovimientoStockBean MSB1 = new MovimientoStockBean();
		MovimientoStockBeanId MSB1Id = new MovimientoStockBeanId();
		
		MovimientoStockBean MSB2 = new MovimientoStockBean();
		MovimientoStockBeanId MSB2Id = new MovimientoStockBeanId();
		
		DepositoCentralBean DCB1 = new DepositoCentralBean();

		Calendar c1 = GregorianCalendar.getInstance();
		c1.set(2000, 1, 30);  
		Date sDate = c1.getTime();
		
		Calendar c2 = GregorianCalendar.getInstance();
		c2.set(2012, 1, 30);  
		Date sDate2 = c2.getTime();
		
		U1.setTipo(1);
		U1.setDescripcion("litro");
		unidadDAO.altaUnidad(U1);
		
		CV1.setNombre("lavandina");
		CV1.setFechaIngreso(sDate);
		CV1.setFechaCaducidad(sDate2);
		CV1.setUnidadUso(U1);
		
		productoDAO.altaProducto(CV1);
		
		DCB1.setCodigo(1);
		Ddao.altaDeposito(DCB1);
		
		MSB1Id.setIdDeposito(DCB1.getCodigo());
		MSB1Id.setIdMovimientoStock(1);
		MSB1.setProducto(CV1);
		MSB1.setId(MSB1Id);
		MSB1.setCantidad(30);
		
		MSB2Id.setIdDeposito(DCB1.getCodigo());
		MSB2Id.setIdMovimientoStock(2);
		MSB2.setProducto(CV1);
		MSB2.setId(MSB2Id);
		MSB2.setCantidad(30);
		
		MSdao.altaMovimientoStock(MSB1);
	
		MSdao.altaMovimientoStock(MSB2);
		
		MSB2Id.setIdDeposito(DCB1.getCodigo());
		MSB2Id.setIdMovimientoStock(3);
		MSB2.setProducto(CV1);
		MSB2.setId(MSB2Id);
		MSB2.setCantidad(-23);
		
		MSdao.altaMovimientoStock(MSB2);*/
		
		
		/*MesaBean Mbe = new MesaBean();
		MesaBean Mbe1 = new MesaBean();
		MesaBean Mbe2 = new MesaBean();
		MesaBean Mbe3 = new MesaBean();
		LocalBean Lbe = new LocalBean();
		LocalBean Lbe1 = new LocalBean();
		LocalBean Lbe2 = new LocalBean();
		Controlador con = new Controlador();
		ManagmentMesa MaMesa = new ManagmentMesa();
		List<MesaVO> mesasVo = new ArrayList<MesaVO>();
		List<MesaVO> mesasVo2 = new ArrayList<MesaVO>();
		List<MesaVO> mesasVo3 = new ArrayList<MesaVO>();
		
		
		
		
		
		//Cirtuito 1: Abrir Mesa (combinada o no)

	
		Mbe.setIdMesa(1);
		Mbe.setCantidad(12);
		Mbe.setCantidadMax(13);
		Mbe.setEstado("Libre");
		Mbe.setIdMesaCombinada(0);
		//	MDao.altaMesa(Mbe);
		
		Mbe1.setIdMesa(2);
		Mbe1.setCantidad(12);
		Mbe1.setCantidadMax(13);
		Mbe1.setEstado("Libre");
		Mbe1.setIdMesaCombinada(0);
		//	MDao.altaMesa(Mbe1);
		
		Mbe2.setIdMesa(3);
		Mbe2.setCantidad(12);
		Mbe2.setCantidadMax(13);
		Mbe2.setEstado("Libre");
		Mbe2.setIdMesaCombinada(0);
		//	MDao.altaMesa(Mbe2);
		
		Mbe3.setIdMesa(4);
		Mbe3.setCantidad(12);
		Mbe3.setCantidadMax(13);
		Mbe3.setEstado("Libre");
		Mbe3.setIdMesaCombinada(0);
	//	MDao.altaMesa(Mbe3);
	
		mesasVo2.add(MaMesa.HibernateAVo(Mbe3));
		con.AbrirMesa(mesasVo2);
		
		mesasVo.addAll(con.listarMesasDisponibles());		
		con.AbrirMesa(mesasVo);

		//Cirtuito 2: Listar Mesas Ocupadas
		
		mesasVo3.addAll(con.listarMesasOcupadas());
		for (int i = 0; mesasVo3.size() - 1 >= i; i++)
		{
			System.out.print(mesasVo3.get(i).getIdMesa() + "\t\t");
		}
		
	//	Controlador con = new Controlador();
	//	List<LocalVO> locales = new ArrayList<LocalVO>();
	//	locales.addAll(con.listarLocales());
	//	for (int i = 0; locales.size() - 1 >= i; i++)
	//	{
	//		System.out.print(locales.get(i).getIdLocal() +"-"+ locales.get(i).getLocalDescripcion()+ "\t\t");
	//	}

		ManagmentEmpleado ma = new ManagmentEmpleado();
		ManagmentPlato pp = new ManagmentPlato();
		List<EmpleadoVO> empleados = new ArrayList<EmpleadoVO>();
		List<PlatoVO> platos = new ArrayList<PlatoVO>();
		//tt = ma.getInstancia().authenticateUser("ere", "caa");
		//aa = ma.getInstancia().BuscarLocalId("456", "456");
		empleados.addAll( ma.listarMozoDisponiblesLocal(1));
		platos.addAll(pp.listarPlatosDisponibles(3));

		for(int i = 0; platos.size() - 1 >= i; i++){
			System.out.println(platos.get(i).getDescripcion());
		}
		*/
		
	}
}
